package com.whfc.wxmp.service;

import com.whfc.base.entity.AppMessage;
import java.util.Map;

/**
 * Uni-push 2.0推送服务接口
 */
public interface UniPushService {

    /**
     * 发送单推消息（根据clientid）
     * @param clientId 客户端推送标识
     * @param title 消息标题
     * @param content 消息内容
     * @param extras 扩展参数
     * @return 是否发送成功
     */
    boolean sendSinglePush(String clientId, String title, String content, Map<String, String> extras);

    /**
     * 发送单推消息（根据AppMessage对象）
     * @param message 消息对象
     * @param clientId 客户端推送标识
     * @return 是否发送成功
     */
    boolean sendPush(AppMessage message, String clientId);

    /**
     * 批量推送消息
     * @param clientIds 客户端推送标识列表
     * @param title 消息标题
     * @param content 消息内容
     * @param extras 扩展参数
     * @return 成功发送的数量
     */
    int sendBatchPush(String[] clientIds, String title, String content, Map<String, String> extras);
}